xen: add missing guest address range checks to XENMEM_exchange handlers
authorJan Beulich <jbeulich@suse.com>
Tue, 4 Dec 2012 18:38:14 +0000 (18:38 +0000)
committerJan Beulich <jbeulich@suse.com>
Tue, 4 Dec 2012 18:38:14 +0000 (18:38 +0000)
commitd28573565f35c4b85ca25044e162745523176392
tree636dc772955f4cb20dc972bc19d8419ed8bb0395
parent24ff9723e0398e78355ea4b83df50eafb154d4dc
xen: add missing guest address range checks to XENMEM_exchange handlers

Ever since its existence (3.0.3 iirc) the handler for this has been
using non address range checking guest memory accessors (i.e.
the ones prefixed with two underscores) without first range
checking the accessed space (via guest_handle_okay()), allowing
a guest to access and overwrite hypervisor memory.

This is XSA-29 / CVE-2012-5513.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
xen/common/compat/memory.c
xen/common/memory.c